/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2021，所有权利保留。
 * <p>
 * 项目名：	design-pattern 文件名：	SingletonEager 模块说明： 修改历史： 2021/7/21 0021 - lizhixing - 创建。
 */
package com.lovely602.design.creation.singleton.demo;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.io.InputStream;

/**
 * 饿汉单例模式样例
 *
 * @author lizhixing
 */
public class SingletonEager {

  public static void main(String[] args) {
    JFrame jf = new JFrame("八戒");
    jf.setLayout(new GridLayout(1, 2));
    Container contentPane = jf.getContentPane();
    Bajie obj1 = Bajie.getInstance();
    contentPane.add(obj1);
    Bajie obj2 = Bajie.getInstance();
    contentPane.add(obj2);
    if (obj1 == obj2) {
      System.out.println("他们是同一个人");
    } else {
      System.out.println("他们不是同一个人");
    }
    jf.pack();
    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  }
}

class Bajie extends JPanel {

  private static Bajie instance = new Bajie();

  private Bajie() {

    try {
      InputStream is = ClassLoader.getSystemResourceAsStream("image/bajie.jpg");
      Image image = ImageIO.read(is);
      JLabel jLabel = new JLabel(new ImageIcon(image));
      this.add(jLabel);
    } catch (IOException e) {
      e.printStackTrace();
    }

  }

  public static Bajie getInstance() {
    return instance;
  }
}
